package com.aos.erp.manager.service;

import com.aos.erp.common.bean.PageBean;
import com.aos.erp.manager.model.review.*;
import com.aos.erp.manager.model.review.vo.ReviewConditionVo;
import com.aos.erp.manager.remote.model.StudentInfo;
import com.aos.erp.manager.remote.model.vo.ExportStudentConditionVo;
import com.aos.erp.manager.util.ExcelData;

import java.util.List;

public interface StudentReviewService {

    /**
     * 获取导出数据，保存导出记录
     * @param conditionVo
     * @throws Exception
     */
    List<StudentInfo> saveAndGetExportData(ExportStudentConditionVo conditionVo, String optUser) throws Exception;

    /**
     * 回写导出结果数据
     * @param importData
     * @param recordId
     */
    void saveImportData(List<List<String>> importData, long recordId) throws Exception;

    /**
     * 删除导出记录
     * @param ids
     */
    void deleteExportRecord(String ids) throws Exception;

    /**
     * 分页查询导出记录列表
     * @param conditionVo
     * @return
     */
    PageBean<ExportRecord> findExportRecordByPage(ReviewConditionVo conditionVo);

    /**
     * 分页查询导出明细列表
     * @param conditionVo
     * @return
     */
    PageBean<ExportRecordDetail> findExportDetailByPage(ReviewConditionVo conditionVo);

    /**
     * 根据记录ID查询导入导出统计信息
     * @param recordId
     */
    List<ExportRecordStatistics> getExportStatistics(long recordId);



    /**
     * 保存导入审核结果数据
     * @param importData
     * @param cityCode
     */
    void saveImportCheckResultData(List<List<String>> importData, String cityCode, String optUser) throws Exception;

    /**
     * 删除导入导出记录
     * @param ids
     */
    void deleteImportRecord(String ids) throws Exception;


    /**
     * 分页查询导入记录列表
     * @param conditionVo
     * @return
     */
    PageBean<CheckResultImportRecord> findImportRecordByPage(ReviewConditionVo conditionVo);

    /**
     * 分页查询导入明细列表
     * @param conditionVo
     * @return
     */
    PageBean<CheckResultImportRecordDetail> findImportDetailByPage(ReviewConditionVo conditionVo);
}
